Computer virtualization is a technique that involves encapsulating a representation of a physical computing machine platform into a virtual machine (VM) that is executed under the control of virtualization software running on hardware computing platforms (also referred to herein as “host computing systems” or “servers”). A group of hardware computing platforms may be organized as a cluster to provide hardware resources, such as memory, central processing units (CPUs) and so on, for VMs. Each VM is a complete execution environment, and the server provides a user interface over the network connection so that user inputs and outputs are communicated between the user and the VM.
Further, host computing systems may be configured with one or more virtual devices such as a virtual network interface card (vNIC), a virtual compact disc read-only-memory (vCDROM), a virtual graphics processing unit (vGPU) card, a virtual small computer system interface (vSCSI) card, and the like. Furthermore, different generations of host computing systems can support different types of virtual devices.
Hardware/device upgrades, support for new virtual devices/existing virtual devices firmware, or peripheral device upgrades may be needed for business compulsions along with security concerns. During migrations or post failover, critical VMs in need of a specific virtual device or updating virtual device configurations may experience a significant downtime.
The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present subject matter in any way.